package tableaux.blocking;

import kb.TBox;
import utils.exception.CoreReasoningException;
import entities.Individual;

public class BlockingStrategy {

	private static BlockingType defaultBlocking = BlockingType.OPTI_DOUBLE;

	private enum BlockingType {
		OPTI_DOUBLE
	}

	public static boolean canBeBlocked(Individual ind, TBox tb)
			throws CoreReasoningException {
		if (defaultBlocking.equals(BlockingType.OPTI_DOUBLE)) {
			return new OptimizedDoubleBlocking().canBeBlocked(ind, tb);
		} else {
			throw new CoreReasoningException(
					"Unimplmented/unknown blocking method!");
		}
	}

}
